package com.itheima.mapper;
import com.itheima.entity.SysUser;
import com.itheima.dto.UserAddDTO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * sys用户映射器
 *
 * @author 13225
 * @date 2023/09/21
 */
@Mapper
public interface SysUserMapper {
    /**
     * 选择通过id
     *
     * @param id id
     * @return {@link SysUser}
     */
    SysUser selectById(String id);

    /**
     * 选择用户名
     *
     * @param loginName 登录名
     * @return {@link SysUser}
     */
    SysUser selectByUserName(String loginName);

    /**
     * 更新
     *
     * @param sysUser 系统用户
     */
    void updateById(SysUser sysUser);

    /**
     * 列表
     *
     * @param loginName 登录名
     * @param status    地位
     * @param phone     电话
     * @return {@link List}<{@link SysUser}>
     */
    List<SysUser> list(String loginName, String status, String phone);

    /**
     * 添加用户
     *
     * @param user 使用者
     */
    void addUser(UserAddDTO user);

    /**
     * 行信息用户
     *
     * @param id id
     * @return {@link SysUser}
     */
    SysUser rowInfoUser(String id);

    /**
     * 按角色id选择
     *
     * @param id id
     * @return {@link List}<{@link SysUser}>
     */
    List<SysUser> selectByRoleId(String id);

    /**
     * del用户
     *
     * @param id id
     */
    void delUser(String id);

    /**
     * 更新用户
     *
     * @param userAddDTO 用户添加dto
     */
    void updateUser(UserAddDTO userAddDTO);
}
